The present invention relates generally to process control networks and, more specifically, to a system and method for determining tuning parameters for a process controller within a process control system based on a robustness map.
Process control networks, such as those used in chemical, petroleum or other processes, have generally included a centralized process controller communicatively coupled to one or more field devices which may be, for example, valve positioners, switches, sensors (such as temperature, pressure and flow rate sensors), etc. These field devices may perform physical control functions within the process (such as opening or closing a valve), may take measurements within the process for use in controlling the operation of the process or may perform any other desired function within the process. Process controllers have historically been connected to field devices via one or more analog signal lines or buses which may carry, for example, 4-20 mA (milliamp) signals to and from the field devices. Generally speaking, the process controller receives signals indicative of measurements made by one or more field devices and/or other information pertaining to the field devices, uses this information to implement a typically complex control routine and then generates control signals which are sent via the analog signal buses to the field devices to thereby control the operation of the process.
Recently, there has been a move within the process control industry to implement field-based digital communications within the process control environment. For example, the process control industry has developed a number of standard, open, digital or combined digital and analog communication protocols such as the HART(copyright), PROFIBUS(copyright), WORLDFIP(copyright), Device-Net(copyright) and CAN protocols. These digital communication protocols generally enable more field devices to be connected to a particular bus, support more and faster communication between the field devices and the controller and/or allow field devices to send more and different types of information, such as information pertaining to the status and configuration of the field device itself, to the process controller. Furthermore, these standard digital protocols enable field devices made by different manufacturers to be used together within the same process control network.
Also, there is now a move within the process control industry to decentralize process control and, thereby, simplify process controllers. Decentralized control is obtained by having field mounted process control devices, such as valve positioners, transmitters, etc. perform one or more process control functions using what are typically referred to as function blocks or control blocks and by then communicating data across a bus structure for use by other process control devices (or function blocks) in performing other control functions. To implement these control functions, each process control device typically includes a microprocessor having the capability to implement one or more function blocks as well as the ability to communicate with other process control devices using a standard and open communication protocol. In this manner, field devices can be interconnected within a process control network to communicate with one another and to perform one or more process control functions forming a control loop without the intervention of a centralized process controller. The all-digital, two-wire bus protocol now being promulgated by the Fieldbus Foundation, known as the FOUNDATION(trademark) Fieldbus(hereinafter xe2x80x9cFieldbusxe2x80x9d) protocol is one open communication protocol that allows devices made by different manufacturers to interoperate and to communicate with one another via a standard bus to effect decentralized control within a process.
Tuning of any control block or control loop in a prior art system that has the entire process control routine (e.g., all of the function blocks of the control routine) or parts thereof located within one or more centralized controllers is fairly simple because the entire tuning routine can also be stored in the centralized controller. When tuning of a control loop of such a centralized control routine is desired, the separate tuning routine within the centralized controller forces the appropriate control block, such as a proportional-integral (PI) or proportional-integral-derivative (PID) control block, through a tuning procedure like an induced oscillation procedure, to determine predefined characteristics of the process or the loop. During this dynamic data capture phase of the tuning procedure, the tuning routine collects data generated by the loop, which is being delivered to the centralized controller per normal operation, and determines from this data one or more process characteristics, such as the ultimate gain, the time constant, etc. of the process. Once the desired process characteristics are calculated, the tuning routine applies a set of rules or other algorithms using the calculated process characteristics to determine new tuning parameters for the control block or control loop. This step is commonly referred to as the rule application phase of the tuning procedure. Thereafter, the tuning routine delivers the new tuning parameters to the control block (or control loop) and the tuning procedure is complete. Because, in a centralized process control system, all of the control functions are located within the controller and all of the data necessary for tuning is provided to the controller during normal operation of the process, the tuning routine has direct access to the control blocks and to the data necessary for performing the tuning routine.
With decentralized communication protocols in which control blocks or control elements, such as PI, PID, fuzzy logic, etc. control blocks, are located in a distributed manner throughout a process control network, it is harder to tune the control blocks (or control loops within which these blocks are operating) because the control blocks are located away from the centralized controller (or other device) where the tuning routine is typically stored. In one known prior art system used for implementing tuning in a distributed process control environment, the entire tuning procedure remains within the centralized process controller. This system, however, cannot perform fast tuning because it must communicate over a bus network (which is providing other communications within the process) to receive the data developed during the tuning routine and, unfortunately, the amount of data (or speed at which the tuning routine can receive this data) is limited by the constraints of the bus throughput. Furthermore, because the bus communications are controlled by a separate bus controller and not by the tuning routine, the tuning routine cannot strictly control the exact times at which the tuning control signals are delivered to the control block in order to start, stop and implement different segments of the tuning procedure. This, in turn, means that the tuning control routine does not have strict control over the timing of the tuning procedure, which may lead to inaccurate results.
In another known prior art system that provides tuning within a distributed process control environment, the entire tuning routine is placed within the same device as the control block to be tuned (such as the PID function block) and, in fact, is actually incorporated into the functionality of the control block. While this system is able to control the timing of the tuning procedure precisely and to collect data at any desired rate (because the tuning routine does not have to communicate with the control block via a bus), the tuning routine must be compiled along with and at the same time as the control block, which increases the overhead (e.g., the timing, processing, memory, etc. requirements) associated with the use of the control block during normal operation of the process, even though the functionality of the auto-tuning routine is used relatively infrequently during normal operation of the control loop. Furthermore, a complete auto-tuning routine must be placed within each different device in which a control block is located in order to enable auto-tuning of each control block, which adds unneeded redundancy to and increases the cost of the process control system.
Furthermore, some known auto-tuners (whether used in centralized control systems or distributed control systems) produce a set of tuning parameters for a specified type of controller, such as a PID (proportional-integral-derivative) controller, based on a set of determined process characteristics and then run a simulation routine that simulates the response of the process to the controller when the controller uses the tuning parameters. This simulation routine may, for example, simulate control of the process using a step response, an impulse response, etc. to enable the operator to view the gain, response time, overshoot, oscillation, etc. associated with the controller having the determined set of tuning parameters. These prior art systems may also determine whether the set of tuning parameters as used in the controller will lead to an unstable control loop. In one known system, the robustness of the resulting controller can be plotted as a point on a robustness map that illustrates, for example, the gain margin versus phase margin for the control loop. However, if the user does not like the robustness of the resulting controller, the user must manually chose other tuning parameters which may or may not result in a controller having a desired robustness, or the user must change some of the variables used to determine the set of tuning parameters in the first place, such as the type of controller to be used, to get a new set of tuning parameters. In either case, the user still cannot select a set of tuning parameters for a particular type of controller by specifying the desired robustness of the control loop, which means that the user is stuck with a robustness associated with the tuning parameters determined using a provided auto-tuning method or that the user must go through a complicated manual trial and error procedure to determine a set of tuning parameters that produces a controller which causes a control loop to have a particular robustness.
A simulation procedure simulates the response of a calculated set of tuning parameters (determined by, for example, an auto-tuning procedure) to illustrate, for example, the overshoot, oscillation, response time, etc. of the controller as tuned. As part of the simulation procedure, a robustness map, such as a plot illustrating phase margin versus gain margin or other robustness qualities, is created and the robustness of the simulated control loop may be plotted as a point on the robustness map. During the creation of the robustness map, different sets of tuning parameters for a region in which the process control loop is stable are determined and stored and the corresponding robustness qualities of the loop having a controller tuned according to these tuning parameters are also determined and stored. The robustness map is then displayed to a user showing the stable region. Thereafter, a user may select any point within the stable region on the robustness map and, upon doing so, a set of tuning parameters that can be used to produce a control loop with the selected robustness characteristics will then be determined from the previously calculated sets of tuning parameters and robustness qualities. The simulation routine may then simulate the control loop tuned according to these new tuning parameters to enable a user to view the performance characteristics of the resulting control loop. If desired, points on the robustness map may be plotted in a manner that illustrates whether the control loop using tuning parameters associated with these points will be stable or unstable.
According to one aspect of the invention, a method of determining tuning parameters for use in tuning a controller used in a process control loop creates a robustness map that plots a robustness quality (such as gain margin) of the process control loop. To create the robustness map, the method determines a plurality of sets of tuning parameters and a value for the robustness quality of the process control loop for each of the sets of tuning parameters. The method then enables a user to select a point within the robustness map and uses at least two of the determined plurality of sets of tuning parameters to generate a further set of tuning parameters which, when used to tune the controller, causes the process control loop to have the approximate value of the robustness quality associated with the selected point.
If desired, the step of creating the robustness map may include the step of plotting two or more robustness qualities and the step of determining may include the steps of varying one of the robustness qualities over a range and determining a set of tuning parameters (including, for example, a maximum forward path gain) and another one of the robustness qualities for each of a number of selected values within the range. If desired, the method may interpolate between the at least two of the determined plurality of sets of tuning parameters to determine the further set of tuning parameters.
In one embodiment, the method also simulates the process control loop when using a controller tuned according to the further set of tuning parameters and may determine a dynamic margin associated with the further set of tuning parameters. Also, if desired, the method may create the robustness map as a plot that plots phase margin versus gain margin.
According to another aspect of the invention, a method of determining a set of tuning parameters for use in tuning a controller that is adapted to be used in a process control loop determines a plurality of sets of tuning parameters for use in tuning the controller and an associated robustness quality for each of the plurality of sets of tuning parameters, wherein the plurality of sets of tuning parameters and associated robustness quality define a stable region within a robustness map. The method then plots the stable region of the robustness map to illustrate the robustness quality of the stable region and enables a user to select a point within the robustness map. The method then uses at least two of the plurality of sets of tuning parameters to determine a further set of tuning parameters, wherein said further set of tuning parameters is associated with the selected point within the robustness map so that the controller, when tuned according to the further set of tuning parameters, causes the process control loop to have approximately the robustness quality of the selected point.
According to a still further aspect of the invention, a tuning system adapted to be used with a processor to tune a process control loop having a controller capable of being tuned according to a set of tuning factors includes a computer readable medium and first, second and third routines stored on the computer readable medium and adapted to be executed on the processor. The first routine is adapted to create a robustness map by determining a plurality of sets of tuning parameters for use in tuning the controller and an associated robustness quality for each of the sets of tuning parameters, wherein the plurality of sets of tuning parameters and associated robustness quality define a continuous region within the robustness map. The second routine is adapted to enable a user to select a point within the robustness map and the third routine is adapted to use at least two of the determined plurality of sets of tuning parameters to generate a further set of tuning parameters which, when used to tune the controller, causes the process control loop to have the approximate robustness quality associated with the selected point.